package com.ruoyi.system.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 运费模板对象 ec_shipping_template
 * 
 * @author ruoyi
 * @date 2025-08-08
 */
public class EcShippingTemplate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 模板ID */
    private Long templateId;

    /** 模板名称 */
    @Excel(name = "模板名称")
    private String templateName;

    /** 快递公司名称 */
    @Excel(name = "快递公司名称")
    private String expressCompany;

    /** 快递公司编码 */
    @Excel(name = "快递公司编码")
    private String expressCode;

    /** 计费方式 */
    @Excel(name = "计费方式")
    private String calculationMethod;

    /** 首重/首件（kg/件） */
    @Excel(name = "首重/首件", readConverterExp = "k=g/件")
    private BigDecimal firstWeight;

    /** 首重/首件费用 */
    @Excel(name = "首重/首件费用")
    private BigDecimal firstFee;

    /** 续重/续件（kg/件） */
    @Excel(name = "续重/续件", readConverterExp = "k=g/件")
    private BigDecimal additionalWeight;

    /** 续重/续件费用 */
    @Excel(name = "续重/续件费用")
    private BigDecimal additionalFee;

    /** 包装费 */
    @Excel(name = "包装费")
    private BigDecimal packagingFee;

    /** 免邮金额 */
    @Excel(name = "免邮金额")
    private BigDecimal freeShippingAmount;

    /** 配送区域（JSON格式） */
    @Excel(name = "配送区域", readConverterExp = "J=SON格式")
    private String deliveryAreas;

    /** 是否默认模板 */
    @Excel(name = "是否默认模板")
    private String isDefault;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }

    public void setTemplateName(String templateName) 
    {
        this.templateName = templateName;
    }

    public String getTemplateName() 
    {
        return templateName;
    }

    public void setExpressCompany(String expressCompany) 
    {
        this.expressCompany = expressCompany;
    }

    public String getExpressCompany() 
    {
        return expressCompany;
    }

    public void setExpressCode(String expressCode) 
    {
        this.expressCode = expressCode;
    }

    public String getExpressCode() 
    {
        return expressCode;
    }

    public void setCalculationMethod(String calculationMethod) 
    {
        this.calculationMethod = calculationMethod;
    }

    public String getCalculationMethod() 
    {
        return calculationMethod;
    }

    public void setFirstWeight(BigDecimal firstWeight) 
    {
        this.firstWeight = firstWeight;
    }

    public BigDecimal getFirstWeight() 
    {
        return firstWeight;
    }

    public void setFirstFee(BigDecimal firstFee) 
    {
        this.firstFee = firstFee;
    }

    public BigDecimal getFirstFee() 
    {
        return firstFee;
    }

    public void setAdditionalWeight(BigDecimal additionalWeight) 
    {
        this.additionalWeight = additionalWeight;
    }

    public BigDecimal getAdditionalWeight() 
    {
        return additionalWeight;
    }

    public void setAdditionalFee(BigDecimal additionalFee) 
    {
        this.additionalFee = additionalFee;
    }

    public BigDecimal getAdditionalFee() 
    {
        return additionalFee;
    }

    public void setPackagingFee(BigDecimal packagingFee) 
    {
        this.packagingFee = packagingFee;
    }

    public BigDecimal getPackagingFee() 
    {
        return packagingFee;
    }

    public void setFreeShippingAmount(BigDecimal freeShippingAmount) 
    {
        this.freeShippingAmount = freeShippingAmount;
    }

    public BigDecimal getFreeShippingAmount() 
    {
        return freeShippingAmount;
    }

    public void setDeliveryAreas(String deliveryAreas) 
    {
        this.deliveryAreas = deliveryAreas;
    }

    public String getDeliveryAreas() 
    {
        return deliveryAreas;
    }

    public void setIsDefault(String isDefault) 
    {
        this.isDefault = isDefault;
    }

    public String getIsDefault() 
    {
        return isDefault;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("templateId", getTemplateId())
            .append("templateName", getTemplateName())
            .append("expressCompany", getExpressCompany())
            .append("expressCode", getExpressCode())
            .append("calculationMethod", getCalculationMethod())
            .append("firstWeight", getFirstWeight())
            .append("firstFee", getFirstFee())
            .append("additionalWeight", getAdditionalWeight())
            .append("additionalFee", getAdditionalFee())
            .append("packagingFee", getPackagingFee())
            .append("freeShippingAmount", getFreeShippingAmount())
            .append("deliveryAreas", getDeliveryAreas())
            .append("isDefault", getIsDefault())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
